Name: Shreyash Shrivastava
ID: 1001397477
Class: CSE 6363

Programming Language Used: Python 3.7 :: Anaconda, Inc.
--------------------------

---------------
Requirements:
---------------
Python == 3.7.1
numpy == 1.11.0
pandas == 0.23.4

---------------
CODE STRUCTURE
---------------

FOR Agglomerative Hierarchical Clustering

	I have used this as a help tool to build the Dedogram in the pdf file. This does 	not include the full implementation of Hierarchical clustering.  

How to run:
	python <file_name>.py


- - - - - - - - - - - - - - - - - - - - - - - - - - - 

FOR Yarowsky Algorithm.py

	Implements Self learning using logistic regression as a global classifier. 
	The accuracy of prediction on the testing data comes out to be
	
	Accuracy =  100.0	

How to run:
	python <file_name>.py

- - - - - - - - - - - - - - - - - - - - - - - - - - - 


FOR Unsupervised vs Logistic

	This is an implementation of logistic regression on the test data only once. No 	bagging routine for self 	learning has been used. 

	Accuracy =  87.5

How to run:
	python <file_name>.py


- - - - - - - - - - - - - - - - - - - - - - - - - - - 

The difference in accuracy is (100 - 87.5). Self-learning on the dataset drastically improves the accuracy. 
